/**
 * Copyright (C) 2010 Cloudfarming <info@cloudfarming.nl>
 *
 * Licensed under the Eclipse Public License - v 1.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.eclipse.org/legal/epl-v10.html
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package nl.cloudfarming.client.crop;

/**
 * Crop
 * 
 * Cultivated plants or agricultural produce, such as grain, vegetables, or fruit, considered as a group.
 *
 *
 * @author Timon Veenstra
 */
public interface Crop {

    /**
     * localized name of the crop, will attempt to resolve name according to Locale.getDefault()
     * otherwise default Bundle will be used
     *
     * @return
     */
    String getName();

    /**
     * Official id provided by a governmental institution.
     * This id is non-unique different Crops can be aggregated to same id
     *
     * @return
     */
    Long getGovernmentalId();

    /**
     * Unique crop identifier
     * Note: only unique within the context of the CropListProvider
     *
     * @return
     */
    Long getId();


    /**
     * Race of the crop
     * for crop "pootgoed" this could be for example "frieslander"
     *
     * @return
     */
    Race getRace();
}
